ABL - это библиотека, позволяющая вам описать вашу бизнес-логику декларативным способом (используя аннотации). Эта логика будет выполнена автоматически при обновлении сущности в базе данных.
АБЛ включена в OpenXava начиная с версии 4.5. Для того, чтобы включить ее, вам следует добавить следующее свойство в persistence unit в файле persistence.xml:
После этого вы можете добавлять декларативную логику, например, если у вас есть сущность подобная следующей:
packageorg.openxava.test.modelimportjavax.persistence.*importorg.openxava.annotations.*
@Entityclass MiniOrder {
@Id
int number
@Column(length=40) @Required
String description
@Required
BigDecimal productPrice
@Required
int qtyOrdered
BigDecimal amount
}
То вы можете описать расчет значения свойства amount, описанного в классе с суффиксом Logic и АБЛ аннотациями:
packageorg.openxava.test.businesslogicimportcom.autobizlogic.abl.annotations.*class MiniOrderLogic {
@Formula("productPrice * qtyOrdered")// This is an ABL annotationspublicvoid deriveAmount(){}}
Этот код приводит к тому, что каждый раз, когда запись в базе данных будет обновляться, АБЛ будет пересчитывать значение свойства amount автоматически.
Автоматизированная бизнес-логика (АБЛ) в OpenXava
ABL - это библиотека, позволяющая вам описать вашу бизнес-логику декларативным способом (используя аннотации). Эта логика будет выполнена автоматически при обновлении сущности в базе данных.АБЛ включена в OpenXava начиная с версии 4.5. Для того, чтобы включить ее, вам следует добавить следующее свойство в persistence unit в файле persistence.xml:
После этого вы можете добавлять декларативную логику, например, если у вас есть сущность подобная следующей:
То вы можете описать расчет значения свойства amount, описанного в классе с суффиксом Logic и АБЛ аннотациями:
Этот код приводит к тому, что каждый раз, когда запись в базе данных будет обновляться, АБЛ будет пересчитывать значение свойства amount автоматически.
Узнайте больше о том, как использовать АБЛ в OpenXava